package com.gmd.historiaclinica.service;

import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;

import com.gmd.historiaclinica.model.dao.HistoriaclinicaDAO;
import com.gmd.historiaclinica.model.repository.JPAHistoriaclinicaDAO;
import com.gmd.model.Historiaclinica;
import com.gmd.util.Utilitario;

public class HistoClinicaService {
	
	EntityManager em;
	HistoriaclinicaDAO histoClinicaDAO;
	
	public HistoClinicaService(){
		em = Utilitario.getInstance().getEntityManager();
		histoClinicaDAO = new JPAHistoriaclinicaDAO(em);
	}
	
	public int generarCodHistoClinica(){
		int id = histoClinicaDAO.getLastId();
		return id + 1;	
	}
	
	public Historiaclinica registrarHistoClinica(Historiaclinica o){
		EntityTransaction tx = em.getTransaction();
		Historiaclinica histo = null;
		try{
			tx.begin();
			histo = histoClinicaDAO.insert(o);
			tx.commit();
		}catch(Exception e){
			tx.rollback();
			throw new RuntimeException("No se pudo registrar Historia Clinica");
		}
		return histo;
	}
	
	public Historiaclinica buscarHistoClinica(int id){
		return histoClinicaDAO.findById(id);
	}
}
